package com.example.springbootstartermqttprovider.controller;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import javax.xml.bind.annotation.XmlAccessType;
import javax.xml.bind.annotation.XmlAccessorType;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;

@Data
@AllArgsConstructor
@NoArgsConstructor
@XmlRootElement(name = "body")
@XmlAccessorType(XmlAccessType.FIELD)
public class DY47REQ {

    /**
     *  账单下载渠道1-银企直连
     */
    @XmlElement(name = "billDownloadChanel")
    private int billDownloadChanel = 1;

    /**
     * 账号
     */
    @XmlElement(name = "acctNo")
    private String acctNo;

    /**
     * 单笔批量标志 0-单笔
     * 1-批量
     */
    @XmlElement(name = "singleOrBatchFlag")
    private int singleOrBatchFlag = 1;

    /**
     * 单笔批量标志为1时必输 起始笔数
     */
    @XmlElement(name = "beginNumber")
    private int beginNumber = 1;

    /**
     * 查询笔数 单笔批量标志为1时必输，不超过10笔，超过10默认送10
     */
    @XmlElement(name = "queryNumber")
    private int queryNumber = 30;


    @XmlElement(name = "businessCode")
    private String businessCode;

    /**
     * 柜员流水号 批量单笔标志为0时必输
     */
    @XmlElement(name = "backhostGyno")
    private String backhostGyno;

    @XmlElement(name = "debitFlag")
    private String debitFlag;

    /**
     * 批量单笔标志为0时必输
     */
    @XmlElement(name = "subpoenaSeqNo")
    private String subpoenaSeqNo;

    @XmlElement(name = "oppositeBankNo")
    private String oppositeBankNo;

    @XmlElement(name = "oppositeBankName")
    private String oppositeBankName;

    @XmlElement(name = "oppositeAcctNo")
    private String oppositeAcctNo;

    @XmlElement(name = "oppositeAcctName")
    private String oppositeAcctName;

    /**
     * YYYYMMDD 起始日期
     */
    @XmlElement(name = "beginDate")
    private String beginDate;

    /**
     *  起始日期与终止日期，相差不超过一个月
     * YYYYMMDD
     */
    @XmlElement(name = "endDate")
    private String endDate;

    @XmlElement(name = "mixAmount")
    private String mixAmount;

    @XmlElement(name = "maxAmount")
    private String maxAmount;

    @XmlElement(name = "ascOrDes")
    private String ascOrDes;

    @XmlElement(name = "summary")
    private String summary;

    @XmlElement(name = "remark")
    private String remark;

    @XmlElement(name = "reservedOne")
    private String reservedOne;

    @XmlElement(name = "reservedTwo")
    private String reservedTwo;

    @XmlElement(name = "reservedThree")
    private String reservedThree;

    // Getter 和 Setter 方法（省略，需根据 IDE 自动生成）
}